/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ihmprojet.core;

import ihmprojet.core.model.operateur.Operateur;
import ihmprojet.core.model.operateur.OperateurUnaire;
import java.util.Comparator;

/**
 *
 * @author thomas
 */
public class OperateurComparator implements Comparator {

    @Override
    public int compare(Object o1, Object o2) {
        OperateurUnaire u1 = (OperateurUnaire) o1;
        OperateurUnaire u2 = (OperateurUnaire) o2;
        //opt> co >iter
        if (u1.getType() == OperateurUnaire.TypeUnaire.Connection
                && u2.getType() == OperateurUnaire.TypeUnaire.Iteratif) {
            return 1;
        }

        if (u1.getType() == OperateurUnaire.TypeUnaire.Connection
                && u2.getType() == OperateurUnaire.TypeUnaire.Optionnel) {
            return -1;
        }
        if (u1.getType() == OperateurUnaire.TypeUnaire.Iteratif
                && u2.getType() == OperateurUnaire.TypeUnaire.Optionnel) {
            return -1;
        }

        if (u1.getType() == OperateurUnaire.TypeUnaire.Iteratif
                && u2.getType() == OperateurUnaire.TypeUnaire.Connection) {
            return -1;
        }
        if (u1.getType() == OperateurUnaire.TypeUnaire.Optionnel
                && u2.getType() == OperateurUnaire.TypeUnaire.Connection) {
            return 1;
        }
        if (u1.getType() == OperateurUnaire.TypeUnaire.Optionnel
                && u2.getType() == OperateurUnaire.TypeUnaire.Iteratif) {
            return 1;
        }



        return 1;
    }
}
